Batch Script-এ ডেটা প্রসেসিংয়ের সময় অনেক সময় বিভিন্ন ডেটা ফাইল বা স্ট্রিংয়ের মধ্যে ডেলিমিটার (Delimiter) ব্যবহার করা হয়, যেমন কমা (,
), স্পেস (
), ট্যাব (\t
), সেমিকোলন (;
) ইত্যাদি। ডেলিমিটার সাধারণত আলাদা আলাদা ভ্যালু বা তথ্যকে পৃথক করতে ব্যবহৃত হয়। Batch Script-এ ডেলিমিটার ব্যবহার করে ডেটা প্রসেস করার মাধ্যমে আমরা বিভিন্ন আউটপুট বা ডেটা সংগ্রহের জন্য ফাইল বা স্ট্রিং গুলি সহজে বিশ্লেষণ করতে পারি।
ধরা যাক, আপনার কাছে একটি CSV ফাইল রয়েছে যা কমা দিয়ে পৃথক করা ডেটা ধারণ করে। এই ডেটা ফাইল থেকে কমা (,
) দিয়ে আলাদা আলাদা ভ্যালু পড়া এবং প্রসেস করার জন্য নিচের কোডটি ব্যবহার করা যেতে পারে।
CSV ফাইল (data.csv):
John,25,Engineer
Alice,30,Doctor
Bob,22,Designer
Batch Script:
@echo off
for /F "tokens=1,2,3 delims=," %%A in (data.csv) do (
echo Name: %%A, Age: %%B, Profession: %%C
)
pause
exit
ব্যাখ্যা:
for /F "tokens=1,2,3 delims=," %%A in (data.csv)
data.csv
ফাইল থেকে প্রতিটি লাইনের জন্য ,
(কমা) ডেলিমিটার ব্যবহার করে তিনটি ভ্যালু (নাম, বয়স, পেশা) আলাদা করে।%%A
, %%B
, এবং %%C
যথাক্রমে প্রথম, দ্বিতীয় এবং তৃতীয় টোকেন (অথবা ভ্যালু) ধারণ করবে, যা প্রতিটি লাইনে আলাদা আলাদা থাকবে।আউটপুট:
Name: John, Age: 25, Profession: Engineer
Name: Alice, Age: 30, Profession: Doctor
Name: Bob, Age: 22, Profession: Designer
আপনি যদি কোন স্ট্রিংয়ের মধ্যে ডেলিমিটার ব্যবহার করে ডেটা প্রসেস করতে চান, তবে FOR /F কমান্ড একইভাবে ব্যবহার করা যায়।
Batch Script:
@echo off
set string=John,25,Engineer
for /F "tokens=1,2,3 delims=," %%A in ("%string%") do (
echo Name: %%A, Age: %%B, Profession: %%C
)
pause
exit
ব্যাখ্যা:
set string=John,25,Engineer
একটি স্ট্রিং সেট করা হয়েছে যা কমা দ্বারা পৃথকিত ভ্যালু ধারণ করে।for /F
কমান্ডটি সেই স্ট্রিংয়ের তিনটি টোকেন আলাদা করে %%A
, %%B
, এবং %%C
তে সংরক্ষণ করবে।আউটপুট:
Name: John, Age: 25, Profession: Engineer
অনেক সময় একাধিক ডেলিমিটার ব্যবহার করা হয়, যেমন স্পেস, কমা এবং সেমিকোলন। Batch Script-এ একাধিক ডেলিমিটার ব্যবহার করার জন্য delims অপশনটি একাধিক চিহ্ন দিয়ে নির্দিষ্ট করা যায়।
Batch Script:
@echo off
set string=John;25,Engineer
for /F "tokens=1,2,3 delims=,;" %%A in ("%string%") do (
echo Name: %%A, Age: %%B, Profession: %%C
)
pause
exit
ব্যাখ্যা:
delims=,;
দ্বারা স্পেস ছাড়াও কমা এবং সেমিকোলনকে ডেলিমিটার হিসেবে ব্যবহার করা হয়েছে।আউটপুট:
Name: John, Age: 25, Profession: Engineer
ধরা যাক, একটি টেক্সট ফাইল থেকে কিছু নির্দিষ্ট তথ্য বের করতে চাইছেন, যেখানে ডেটা ডেলিমিটার দ্বারা আলাদা করা আছে। এই পরিস্থিতিতে findstr এবং for /f কমান্ডের সংমিশ্রণ ব্যবহার করা যেতে পারে।
Text File (data.txt):
ID:123, Name:John, Age:25
ID:124, Name:Alice, Age:30
ID:125, Name:Bob, Age:22
Batch Script:
@echo off
for /F "tokens=2 delims=:" %%A in ('findstr "Name" data.txt') do (
echo Name: %%A
)
pause
exit
ব্যাখ্যা:
findstr "Name" data.txt
কমান্ডটি data.txt
ফাইল থেকে শুধুমাত্র সেই লাইনগুলি বের করবে যেখানে "Name"
আছে।for /F "tokens=2 delims=:"
কমান্ডটি প্রতিটি লাইনে :
চিহ্নকে ডেলিমিটার হিসেবে ব্যবহার করে নাম বের করবে।আউটপুট:
Name:John
Name:Alice
Name:Bob
Batch Script-এ delimiter ব্যবহার করে ডেটা প্রসেস করা একটি শক্তিশালী কৌশল যা আপনাকে ডেটা ফাইল থেকে নির্দিষ্ট তথ্য বের করার সুবিধা দেয়। FOR /F কমান্ড এবং delims অপশন দিয়ে আপনি ডেলিমিটার দ্বারা আলাদা করা ভ্যালুগুলি সহজেই প্রসেস করতে পারেন। আপনি যে ডেটা ফাইল বা স্ট্রিংটি ব্যবহার করবেন, সেটির মধ্যে ডেলিমিটার ঠিকভাবে চিহ্নিত করলে Batch Script আপনাকে দ্রুত ও কার্যকরীভাবে ডেটা বিশ্লেষণ করতে সহায়তা করবে।
common.read_more